In one conventional video storage approach, a 1920 pixel wide by 1080 pixel high image can be stored as 1080 rows of 1920 bytes. Such an approach would have a memory page size of 1024 bytes. Therefore, the 1080 rows of the image would be spread over a number of pages. All of the bytes of the first row are followed by the bytes of each subsequent row when storing the image. When the image is processed (i.e., compressed), 9×9 blocks of the image are operated upon. When loading a 9×9 block stored in the raster format, at least 9, and possibly ten, pages are retrieved.
In one conventional storage approach, an image is divided into a number of 32×32 pixel tiles. Each of the tiles is stored contiguously as one 1024 byte page. Such a conventional approach reduces the number of pages transferred per 9×9 blocks over other conventional methods.
In another conventional storage approach, data within each of the tiles is stored in a raster format. By storing an image as tiles, a 9×9 block (or any size block up to 32×32) (or motion compensation block) can be transferred by retrieving at most 4 pages. In such an approach, an interlaced image has each field stored separately.
It would be desirable to implement a method and/or apparatus for implementing interleaved storage of data that may be adapted to modern memory devices.